perm filename ITSBTS.MID[MAC,LSP] blob
sn#252876 filedate 1976-12-08 generic text, type T, neo UTF8
;;; ITS BITS THAT ARE OFTEN NEEDED
.AUXIL
;;; CATALOGUE OF RESERVED BIT NAME AND CONSTANT PREFIXES IN ITS
.SEE %CA ;BITS IN CLRAC FOR CORE LINK DEVICE
.SEE %CB ;BITS FOR CORBLK SYMBOLIC SYSTEM CALL
.SEE %CLS ;BITS IN LH OF CLSTB ENTRY
.SEE %DP ;DATAPOINT CURSOR CONTROL CONSTANTS
.SEE %DT ;DTE20 COMMANDS BITS AND CONSTANTS
.SEE %DV ;BITS IN DEVTAB
.SEE %E ;.CALL AND OPEN ERROR CODES
.SEE %H1 ;RP04 (RH10) ERROR REGISTER 1
.SEE %H3 ;RP04 (RH10) ERROR REGISTER 3
.SEE %HD ;RH10 ERROR BITS IN DRIVE REGISTERS
.SEE %HI ;RH10 CONI BITS
.SEE %HM ;RP04 (RH10) COMMAND CONSTANTS
.SEE %HO ;RH10 CONO BITS
.SEE %HR ;RH10 CONTROLLER AND RP04 DRIVE REGISTER NUMBERS
.SEE %HS ;RP04 (RH10) STATUS REGISTER BITS
.SEE %HW ;FOR KL10, BITS IN RH OF RESULT OF APRID
.SEE %IOT ;BITS IN IOTTB
.SEE %JS ;SPECIAL VALUES FOR <JOB> SPECS
.SEE %MA ;BITS IN MSRAC (MAGTAPE STATUS TABLE)
.SEE %NC ;NETWORK SOCKET CLOSE REASONS
.SEE %NS ;NETWORK SOCKET STATES
.SEE %PC ;KA10 PC FLAGS
.SEE %PF ;KL10 PAGE FAIL WORD BITS
.SEE %PI ;BITS IN PIRQC USER VARIABLE
.SEE %PJ ;BITS IN LH OF PIRQC USER VARIABLE
.SEE %PS ;KL10 PC FLAGS
.SEE %QA ;BITS IN QSRAC (DISK STATUS TABLE)
.SEE %QM ;DISK ACTION MODES IN RH OF QSRAC
.SEE %RL ;BITS FOR COMMANDS TO .REALT UUO
.SEE %SCV ;BITS IN SYSCVL TO CONTROL SYMBOLIC SYSTEM CALLS
.SEE %SS ;STY STATUS BITS IN STYSTS
.SEE %SY ;NAMES FOR SQUOZE FLAGS IN SYMBOL TABLES (NOT DEFINED IN ITS)
.SEE %TA ;BITS IN TTYSTA
.SEE %TB ;BITS IN TTYTBL USER VARIABLE
.SEE %TC ;BITS IN TTYCOM
.SEE %TD ;SOFTWARE TTY CURSOR CONTROL CODE CONSTANTS
.SEE %TF ;BITS IN TPFLAG
.SEE %TG ;BITS IN TTYST1 AND TTYST2
.SEE %TI ;BITS IN LEFT HALF OF TTY INPUT IOCHNM WORD
.SEE %TJ ;BITS IN LH OF TTY OPTPUT IOCHNM
.SEE %TN ;CONSTANTS FOR TCTYP
.SEE %TO ;BITS IN LEFT HALF OF TTYOPT
.SEE %TP ;BITS IN RIGHT HALF OF TTYOPT
.SEE %TS ;BITS IN TTYSTS
.SEE %TT ;BITS IN LEFT HALF OF TTYTYP
.SEE %TX ;ASCII CHARACTER BITS (META, TOP, CONTROL, ETC.)
.SEE %TY ;BITS IN RIGHT HALF OF TTYTYP
.SEE %UC ;FOR KL10, BITS IN LH OF RESULT OF APRID
.SEE %UM ;BITS IN UMAPS VARIABLE, AND ARGS TO PGLD, MPLD1, PLD1.
.SEE %UST ;BITS IN USTP VARIABLE.
.SEE %WY ;WHYINT CODES
.SEE $11 ;BYTE POINTERS TO PDP11 FIELDS IN PDP-10 WORDS, ON AI 10-11 INTERFACE.
.SEE MMP ;BITS IN MMP ENTRY 1ST WORD L.H.
.SEE OPT ;BITS IN LH OF .OPTION VARIABLE
.SEE SCL ;BITS IN LH OF SUPCOR
.SEE SCR ;BITS IN RH OF SUPCOR
IFNDEF DEFSYM,[ ;ALLOW USER TO USE SYMBOLS IN OTHER WAYS IF HE WISHES.
;BUT NORMALLY, DEFSYM FOO==BAR DOES FOO==BAR WITH ERROR CHECK.
DEFINE DEFSYM X/
IRPS Z,,[X]
IFNDEF Z,X
.ELSE [
$$TEM1==Z
X
IFN Z-$$TEM1,.ERR Z MULTIPLY .QUOTE`.QUOTE/DEFINED/`
]
.ISTOP
TERMIN TERMIN
IFLE .MLLIT,.ERR .MLLIT MUST BE 1; SETTING IT TO 1.
.MLLIT==1
$$TEMP==1
]
.ELSE $$TEMP==0
;OPEN-FAILURE CODE NAMES.
;3RD AND 4TH LETTER: "TM" = "TOO MANY", "BD" = "BAD OR ILLEGAL",
; "TF" = "TOO FEW", "RO" = "READ-ONLY", "NA" = "NOT AVAILABLE",
; "NS" = "NO SUCH", "EX" = "ALREADY EXISTS", "FL" = "FULL",
; "NR" = "NOT READY".
;5TH AND 6TH LETTER: "JB" = "JOB", "RG" = "ARG", "DV" = "DEVICE",
; "DR" = "DIRECTORY", "IO" = "DIRECTION", "FL" = "FILE", "FN" = "FILE NAME"
DEFSYM %E==-100 ;BIT TYPEOUT MASK
DEFSYM %ENSDV==1 ;NO SUCH DEVICE
DEFSYM %ENSIO==2 ;WRONG DIRECTION
DEFSYM %ETMTR==3 ;TOO MANY TRANSLATIONS
DEFSYM %ENSFL==4 ;FILE NOT FOUND
DEFSYM %EFLDR==5 ;DIRECTORY FULL
DEFSYM %EFLDV==6 ;DEVICE FULL
DEFSYM %ENRDV==7 ;DEVICE NOT READY
DEFSYM %ENADV==10 ;DEVICE NOT AVAILABLE
DEFSYM %EBDFN==11 ;ILLEGAL FILE NAME
DEFSYM %ENSMD==12 ;MODE NOT AVAILABLE
DEFSYM %EEXFL==13 ;FILE ALREADY EXISTS
DEFSYM %EBDCH==14 ;BAD CHANNEL NUMBER
DEFSYM %ETMRG==15 ;TOO MANY ARGUMENTS (CALL)
DEFSYM %ENAPK==16 ;PACK NOT MOUNTED
DEFSYM %ENADR==17 ;DIRECTORY NOT AVAIL
DEFSYM %ENSDR==20 ;NON-EXISTENT DIRECTORY
DEFSYM %ELCDV==21 ;LOCAL DEVICE ONLY
DEFSYM %ESCO== 22 ;SELF-CONTRADICTORY OPEN
DEFSYM %ENAFL==23 ;FILE LOCKED
DEFSYM %ETMDR==24 ;M.F.D. FULL
DEFSYM %EMCHN==25 ;DEVICE NOT ASSIGNABLE TO THIS PROCESSOR
DEFSYM %ERODV==26 ;DEVICE WRITE-LOCKED
DEFSYM %ETMLK==27 ;LINK DEPTH EXCEEDED
DEFSYM %ETFRG==30 ;TOO FEW ARGUMENTS (CALL)
DEFSYM %EROJB==31 ;CAN'T MODIFY JOB
DEFSYM %EROPG==32 ;CAN'T GET THAT ACCESS TO PAGE
DEFSYM %EBDRG==33 ;MEANINGLESS ARGS
DEFSYM %EBDDV==34 ;WRONG TYPE DEVICE
DEFSYM %ENSJB==35 ;NO SUCH JOB
DEFSYM %EBOJ== 36 ;VALID CLEAR OR STORED SET
DEFSYM %ENACR==37 ;NO CORE AVAILABLE
DEFSYM %ETOP== 40 ;NOT TOP LEVEL
DEFSYM %ENAPP==41 ;OTHER END OF PIPELINE GONE OR NOT OPEN
DEFSYM %ENAJB==42 ;JOB GONE OR GOING AWAY
DEFSYM %ENSCL==43 ;ILLEGAL SYSTEM CALL NAME
DEFSYM %ENSCH==44 ;CHANNEL NOT OPEN
DEFSYM %ENRBF==45 ;INPUT BUFFER EMPTY OR OUTPUT BUFFER FULL
DEFSYM %EBDFL==46 ;UNRECOGNIZABLE FILE (LOAD)
DEFSYM %EBDLK==47 ;LINK TO NON-EXISTENT FILE
NOPNLS==47 ;NO DEFSYM BECAUSE THIS SYMBOL IS NOT TO BE PREDEFINED TO USERS
; BITS IN .PIRQC USER VARIABLE - FIRST-WORD INTERRUPTS
; CLASSES ARE:
; [1] STOPS JOB AND INTERRUPTS SUPERIOR (FATAL INTR)
; [2] STOPS JOB AND INTERRUPTS SUPERIOR UNLESS ENABLED
; [3] DOES NOTHING UNLESS ENABLED
; BITS IN THE LH HAVE TWO NAMES: %PI... AS A BIT IN THE WORD,
; AND %PJ... SHIFTED DOWN BY 18. BITS.
.SEE PIRQC
DEFSYM %PI==525252,,525252 ;FOR BIT-TYPEOUT MODE
DEFSYM %PIRLT==200000,, ;REAL-TIME TIMER WENT OFF [3]
DEFSYM %PIRUN==100000,, ;RUN-TIME TIMER WENT OFF [3]
DEFSYM %PIATY==4000,, ;WAS JUST GIVEN THE TTY [3]
DEFSYM %PITTY==2000,, ;DON'T HAVE TTY (SEE %TBINT) [2]
DEFSYM %PIPAR==1000,, ;MEMORY PARITY ERROR [1]
DEFSYM %PIFOV==400,, ;FLOATING OVERFLOW [3]
DEFSYM %PIWRO==200,, ;WRITE IN READ-ONLY PAGE [2]
DEFSYM %PIFET==100,, ;FETCHED INSN FROM IMPURE PAGE [2]
DEFSYM %PITRP==40,, ;SYSTEM UUO IN TRAP MODE [2]
DEFSYM %PIDBG==2,, ;SYSTEM BEING DEBUGGED STATE CHG[3]
DEFSYM %PILOS==1,, ;.LOSE INSTRUCTION EXECUTED [2]
DEFSYM %PICLI==400000 ;CLI DEVICE OPENED TO THIS JOB [3]
DEFSYM %PIPDL==200000 ;PUSHDOWN LIST OVERFLOW [3]
DEFSYM %PILTP==100000 ;LIGHT PEN [3]
DEFSYM %PIMAR==40000 ;MAR ADDRESS TRAP [2]
DEFSYM %PIMPV==20000 ;MEMORY PROTECTION VIOLATION [2]
DEFSYM %PICLK==10000 ;SLOW (1/2 SEC) CLOCK [3]
DEFSYM %PI1PR==4000 ;SINGLE-INSTRUCTION PROCEED [1]
DEFSYM %PIBRK==2000 ;.BREAK INSTRUCTION EXECUTED [1]
DEFSYM %PIOOB==1000 ;ADDRESS OUT OF BOUNDS [2]
DEFSYM %PIIOC==400 ;I/O CHANNEL ERROR [2]
DEFSYM %PIVAL==200 ;.VALUE INSTRUCTION EXECUTED [1]
DEFSYM %PIDWN==100 ;SYSTEM GOING DOWN STATUS CHANGE[3]
DEFSYM %PIILO==40 ;ILLEGAL OPERATION (E.G. UUO) [2]
DEFSYM %PIDIS==20 ;DISPLAY MEMORY PROTECT [2]
DEFSYM %PIARO==10 ;ARITHMETIC OVERFLOW [3]
DEFSYM %PIB42==4 ;BAD LOCATION 42 [1]
DEFSYM %PIC.Z==2 ;↑Z OR CALL TYPED [1]
DEFSYM %PITYI==1 ;TTY INPUT (OBSOLETE) [3]
DEFSYM %PJ==1,,525252 ;BIT TYPEOUT MASK
DEFSYM %PJRLT==200000 ;REAL-TIME TIMER WENT OFF [3]
DEFSYM %PJRUN==100000 ;RUN-TIME TIMER WENT OFF [3]
DEFSYM %PJATY==4000 ;WAS JUST GIVEN THE TTY [3]
DEFSYM %PJTTY==2000 ;DON'T HAVE TTY (SEE %TBINT) [2]
DEFSYM %PJPAR==1000 ;MEMORY PARITY ERROR [1]
DEFSYM %PJFOV==400 ;FLOATING OVERFLOW [3]
DEFSYM %PJWRO==200 ;WRITE IN READ-ONLY PAGE [2]
DEFSYM %PJFET==100 ;FETCHED INSN FROM IMPURE PAGE [2]
DEFSYM %PJTRP==40 ;SYSTEM UUO IN TRAP MODE [2]
DEFSYM %PJDBG==2 ;SYSTEM BEING DEBUGGED STATE CHG[3]
DEFSYM %PJLOS==1 ;.LOSE INSTRUCTION EXECUTED [2]
;;; PC FLAGS (LEFT HALF)
DEFSYM %PC==1,,525240 ;FOR BIT-TYPEOUT MODE
DEFSYM %PCARO==400000 ;ARITHMETIC OVERFLOW
DEFSYM %PCCR0==200000 ;CARRY OUT OF BIT 0
DEFSYM %PCCR1==100000 ;CARRY OUT OF BIT 1
DEFSYM %PCFOV==040000 ;FLOATING OVERFLOW
DEFSYM %PCFPD==020000 ;FIRST PART DONE (E.G. ILDB PTR INCREMENTED, BYTE NOT FETCHED)
DEFSYM %PCUSR==010000 ;USER MODE
DEFSYM %PCUIO==004000 ;USER I/O
DEFSYM %PCPUR==002000 ;GIVE %PIFET IF FETCH INSTR FROM WRITABLE PAGE (KA-10 ONLY)
DEFSYM %PCSPC==001000 ;"SPECIAL" - OBSOLETE
DEFSYM %PC1PR==000400 ;1 PROCEED - GIVE %PI1PR AFTER ONE INSTRUCTION
DEFSYM %PCX17==000200 ;XR 17 = PC (AI ONLY)
DEFSYM %PCFXU==000100 ;FLOATING EXPONENT UNDERFLOW
DEFSYM %PCDIV==000040 ;DIVIDE ERROR
;;; PC FLAGS FOR KL-10
DEFSYM %PS==1,,525240 ;FOR BIT-TYPEOUT MODE
DEFSYM %PSPCP==400000 ;PREVIOUS CONTEXT PUBLIC - PXCT CAN'T REFERENCE CONCEALED PAGE
;THIS APPLIES ONLY IN EXEC MODE. IN USER MODE IS STILL %PCARO
DEFSYM %PSCR0==200000 ;CARRY OUT OF BIT 0
DEFSYM %PSCR1==100000 ;CARRY OUT OF BIT 1
DEFSYM %PSFOV==040000 ;FLOATING OVERFLOW
DEFSYM %PSFPD==020000 ;FIRST PART DONE (E.G. ILDB PTR INCREMENTED, BYTE NOT FETCHED)
DEFSYM %PSUSR==010000 ;USER MODE ; 0 0 1 1
DEFSYM %PSUIO==004000 ;USER I/O ;;; KERNEL SUPERV CONCEAL PUBLIC
DEFSYM %PSPUB==002000 ;PUBLIC MODE ; 0 1 0 1
DEFSYM %PSPCU==004000 ;IN EXEC MODE %PSUIO MEANS PREVIOUS CONTEXT USER.
DEFSYM %PSINH==001000 ;INHIBIT ADDRESS BREAK & TRAP 3 (TURNS OFF AFTER 1 INST)
DEFSYM %PSTR2==000400 ;TRAP 2 (PDL OVERFLOW) ;TRAP 1 PLUS TRAP 2
DEFSYM %PSTR1==000200 ;TRAP 1 (ARITH OVERFLOW) ; MAKES TRAP 3 (ONE PROCEED)
DEFSYM %PSFXU==000100 ;FLOATING EXPONENT UNDERFLOW
DEFSYM %PSDIV==000040 ;DIVIDE ERROR
DEFSYM %PS1PR==001600 ;BITS TO SET TO CAUSE A 1-PROCEED.
;ARPA NETWORK
DEFSYM %NS==,-1 ;SOCKET STATES
DEFSYM %NSCLS==0 ;CLS RECEIVED. CONNECTION CLOSED (IMSCLS GIVES REASON)
DEFSYM %NSLSN==1 ;LISTENING FOR RFC
DEFSYM %NSRFC==2 ;RFC RECEIVED WHILE IN LISTENING STATE
DEFSYM %NSRCL==3 ;CLS RECEIVED WHILE IN RFC RECEIVED STATE
DEFSYM %NSRFS==4 ;RFC SENT
DEFSYM %NSOPN==5 ;CONNECTION OPEN
DEFSYM %NSRFN==6 ;RFNM WAIT ON WRITE LINK
DEFSYM %NSCLW==7 ;CLS SENT. WAITING FOR MATCHING CLS
DEFSYM %NSCLI==10 ;CLS RECEIVED BUT INPUT STILL AVAILABLE
DEFSYM %NSINP==11 ;INPUT AVAILABLE
DEFSYM %NC==,-1 ;CLS REASONS (IN IMSCLS)
DEFSYM %NCNTO==0 ;NEVER OPENED
DEFSYM %NCUSR==1 ;CLSED BY USER
DEFSYM %NCFRN==2 ;CLSED BY FOREIGN HOST
DEFSYM %NCRST==3 ;RST
DEFSYM %NCDED==4 ;HOST DEAD
DEFSYM %NCINC==5 ;INCOMPLETE TRANSMISSION
DEFSYM %NCBYT==6 ;BYTE SIZE MISMATCH.
DEFSYM %NCNCP==7 ;OUR NCP WENT DOWN.
DEFSYM %NCRFS==10 ;REQUEST FOR CONNECTION REFUSED
;;; BITS IN RESULT OF APRID (BLKI APR,) ON KL-10
DEFSYM %UC==1,,525000 ;FOR BIT-TYPEOUT MODE
DEFSYM $UCOPT==331100 ;MICROCODE OPTIONS:
DEFSYM %UCKLP==400000 ; KL-10-STYLE PAGING
DEFSYM %UCITS==20000 ; ITS-STYLE PAGING
DEFSYM %UCTRK==1000 ; TRACKS FEATURE
DEFSYM $UCVRS==221100 ;MICROCODE VERSION NUMBER
DEFSYM %UCVRS==1
DEFSYM %HW==0,,527777 ;FOR BIT-TYPEOUT MODE
DEFSYM $HWOPT==140600 ;HARDWARE OPTIONS
DEFSYM $HWSER==001400 ;PROCESSOR SERIAL NUMBER
;;; CONTROL BITS FOR CORBLK SYSTEM CALL
.SEE NCORBLK
DEFSYM %CB==1,,525252 ;FOR BIT-TYPEOUT MODE
DEFSYM %CBWRT==400000 ;TRY FOR WRITE ACCESS, OK IF CAN'T GET IT
DEFSYM %CBRED==200000 ;TRY FOR READ ACCESS, OK IF CAN'T GET IT
DEFSYM %CBNDW==100000 ;NEED WRITE ACCESS, FAIL IF CAN'T GET IT
DEFSYM %CBPUB==040000 ;MAKE PAGE PUBLIC, REQUIRES WRITE ACCESS
DEFSYM %CBPRV==020000 ;MAKE PAGE PRIVATE, REQUIRES WRITE ACCESS
DEFSYM %CBNDR==010000 ;NEED READ ACCESS, FAIL IF CAN'T GET IT
DEFSYM %CBCPY==004000 ;MAKE A COPY (DISK FILES ONLY)
;ABOVE BITS ALL ZERO MEANS DELETE PAGE FROM MAP
;;; SPECIAL VALUES FOR <JOB> SPECS
DEFSYM %JS==,,-1
DEFSYM %JSELF==,,-1 ;SELF (ALL <JOB> SPECS)
DEFSYM %JSTVB==,,-2 ;11TV BUFFER (CORBLK)
DEFSYM %JSNUL==,,-3 ;NULL JOB (KLPERF)
DEFSYM %JSALL==,,-4 ;ALL JOBS (KLPERF)
DEFSYM %JSNEW==,,-5 ;FRESH PAGE (CORBLK)
DEFSYM %JSABS==,,-6 ;ABSOLUTE CORE (CORBLK)
DEFSYM %JSNUM==400000 ;THIS + JOB # => THAT JOB (ALL <JOB> SPECS)
DEFSYM %JSSUP==400377 ;SUPERIOR (ALL <JOB> SPECS)
;A <JOB> SPEC MAY ALSO BE THE NUMBER OF A CHANNEL OPEN ON USR:, BOJ:, OR STY:
;;; CONTROL BITS FOR ".REALT AC," UUO.
;;; FLAG BITS ARE IN LH(AC).
.SEE AREALT
DEFSYM %RL==1,,525252 ;FOR BIT-TYPEOUT MODE
DEFSYM %RLFLS==400000 ;FLUSH OLD TIMER
DEFSYM %RLSET==200000 ;SET NEW CLOCK RATE
DEFSYM %RLUSR==100000 ;TRY TO SEIZE REAL TIME USER FACILITY
DEFSYM %RLPSD==020000 ;ONLY WANT PSEUDO REAL TIME
DEFSYM %RLNPS==040000 ;CANNOT ACCEPT PSEUDO REAL TIME
DEFSYM %RLBLK==010000 ;PROGRAM TO BE BLOCKED EXCEPT FOR HIGH PRIORITY
; PHASE OR INTERRUPT LEVEL
DEFSYM %RLGET==004000 ;GET PREVIOUS STATUS IN WORDS 3+4
;REMAINING BITS MUST BE ZERO
;;; BITS OF .OPTION USER VARIABLE.
.SEE OPTION
DEFSYM OPT==525252(1) ;FOR BIT-TYPEOUT MODE
DEFSYM OPTTRP==400000 ;ALL SYSTEM UUOS TRAP TO SUPERIOR (%PITRP)
DEFSYM OPTDEC==100000 ;UUOS 40,41 AND 47 ARE USER UUOS
;THE FOLLOWING 3 BITS ARE NOT USED BY SYSTEM.
;THEY ARE FOR COMMUNICATION FROM SUPERIOR.
DEFSYM OPTCMD==040000 ;SUPERIOR SAYS IT HAS CMD STRING - DO .BREAK 12,.
DEFSYM OPTBRK==020000 ;SUPERIOR SAYS IT HANDLES ALL .BREAK'S.
DEFSYM OPTDDT==010000 ;SUPERIOR SAYS HE'S DDT. (CLEARED WHEN DDT DISOWNS)
DEFSYM OPTINT==004000 ;NEW STYLE VECTORING INTS.
DEFSYM OPTOJB==002000 ;ALLOW OTHER JOBS TO OPEN ME ON THE OJB DEVICE.
;OPENING ME ON OJB DEVICE TURNS ME INTO A JOB DEVICE.
DEFSYM OPTLOK==001000 ;ENABLE SWITCH-UNLOCKING FEATURE
.SEE IODCSW ;SEE COMMENT THERE FOR DESCRIPTION.
DEFSYM OPTLIV==000400 ;DON'T KILL THIS TOP LEVEL JOB WHEN SYS GOES DOWN
DEFSYM OPTOPC==000200 ;INTERRUPTS THAT ABORT AN INSTRUCTION SHOULD
;LEAVE THE PC POINTING TO THAT INSTRUCTION
;(OTHERWISE IT GETS AOS'ED)
DEFSYM OPTLSP==000100 ;SUPERIOR SAYS HE'S LISP
DEFSYM OPTLKF==000040 ;UNLOCK LOCKS ON FATAL INTERRUPT
;;; FIRST RESULT OF .CALL WHYINT
DEFSYM %WY==,-1
DEFSYM %WYTYI==1 ;TTY INPUT
DEFSYM %WYTYO==2 ;TTY OUTPUT
DEFSYM %WYSTI==3 ;STY INPUT
DEFSYM %WYSTO==4 ;STY OUTPUT
DEFSYM %WYNET==5 ;ARPANET
IFN $$TEMP,EXPUNG DEFSYM